<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <h1>用户注册</h1>
    <input type="text" v-model="user.username" @blur="check()" placeholder="请输入用户名">{{info}}<br>
    <input type="password" v-model="user.password" placeholder="请输入密码"><br>
    <input type="password" v-model="user.nickname" placeholder="请输入昵称"><br>
    <input type="button" value="注册" @click="reg()">
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
    let v = new Vue({
        el: "body>div",
        data: {
            user: {
                username: "",
                password: "",
                nickname: ""
            },
            info: ""
        },
        methods: {
            reg(){
                axios.post("/reg",v.user).then(function (response) {
                    if (response.data==1){
                        alert("注册成功")
                    }else {
                        alert("用户名已存在")
                    }
                })
            },
            check(){
                axios.get("/check?username="+v.user.username).then(function (response) {
                    if (response.data==1){
                        v.info = "用户名可用"
                    }else {
                        v.info = "用户名已存在"
                    }
                })
            }
        }
    })
</script>
</html>